# 文件编码
# 86-98 111-123 160-164
# open() 打开文件
# open(name,mode,encoding)
# mode: 设置打开文件的模式（访问模式）: 只读、写入、追加等
# encoding: 编码格式（推荐使用UTF-8）

'''
r： 以只读方式打开文件。文件的指针将会放在文件的开头。默认模式
w：打开一个文件只用于写入。如果该文件已存在则打开文件，
    并从开头开始编辑，原有内容会被删除，如果该文件不存在，创建新文件。
a：打开一个文件用于追加。如果该文件已经存在，新的内容将会被写入到已有内容之后，
    如果该文件不存在，创建新文件进行写入。
'''

# 示例代码：
# 打开文件，得到一个文件对象 f
f = open("test/test_file.txt", "r", encoding="utf-8")
# print(type(f))  # <class '_io.TextIOWrapper'>

# 读取文件 - read()
# 未传入参数，则读取所有内容
# print(f.read(2))  # 读取10个字节
# print(f.read())  # 读取全部内容

# 读取文件 - readlines()
# lines = f.readlines()  # 读取文件的全部行，并将结果封装到列表中
# print(lines)

# 读取文件 - readline()
# line = f.readline()  # 读取一行内容
# print(line)
# line2 = f.readline()
# print(line2)

# for循环读取文件行
# li是每一行的对象
# for li in f:
#     print(li)
#
# # 关闭文件，若不关闭文件，文件将一直被程序占用
# f.close()

# with open 语法
# 可以在操作完成后自动关闭close文件，避免遗忘掉close方法
with open("test/test_file.txt",'r',encoding="UTF-8"):
     for line in f:
         print(line)







